package com.li.pm;
import java.io.InputStream;

import org.xmlpull.v1.XmlPullParser;

import android.util.Xml;


public class PullParseService {
	public static Weather getWeather(InputStream inputStream) throws Exception{
		XmlPullParser parser = Xml.newPullParser();
		parser.setInput(inputStream, "GBK");
		Weather weather = null;
		boolean isEnd=false;
		int event = parser.getEventType();//产生第一个事�?
		while(event!=XmlPullParser.END_DOCUMENT){
			switch(event){
			case XmlPullParser.START_DOCUMENT://判断当前事件是否是文档开始事�?
				break;
			case XmlPullParser.START_TAG://判断当前事件是否是标签元素开始事�?
				if("current_conditions".equals(parser.getName())){//判断�?��标签元素是否是book
					weather= new Weather();
				}
				if("condition".equals(parser.getName())){//判断�?��标签元素是否是book
					weather.setCondition(parser.getAttributeValue(0));
				}
				if("temp_c".equals(parser.getName())){//判断�?��标签元素是否是book
					weather.setTemp_c(parser.getAttributeValue(0));
				}
				if("humidity".equals(parser.getName())){//判断�?��标签元素是否是book
					weather.setHumidity(parser.getAttributeValue(0));
				}
				if("icon".equals(parser.getName())){//判断�?��标签元素是否是book
					weather.setIcon(parser.getAttributeValue(0));
				}
				if("wind_condition".equals(parser.getName())){//判断�?��标签元素是否是book
					weather.setWind_condition(parser.getAttributeValue(0));
				}
				
				break;
			case XmlPullParser.END_TAG://判断当前事件是否是标签元素结束事�?
				if("current_conditions".equals(parser.getName())){//判断结束标签元素是否是book
					isEnd=true;
				}
				break;
			}
			if(isEnd)
				break;
			else
			event = parser.next();//进入下一个元素并触发相应事件
		}//end while
		return weather;
	}
}